package cn.fl.product.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.product.vo.SplBscInfoApplyVO;
import fl.spl.facade.spl.dto.SplBscInfoApplyDTO;


/**
 * @Description: 供应商基础信息变更申请表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class SplBscInfoApplyVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto SplBscInfoApplyDTO
	 * @return SplBscInfoApplyVO
	 */
	public static SplBscInfoApplyVO toVO(SplBscInfoApplyDTO dto) {
		SplBscInfoApplyVO  vo = null;
		if (dto != null) {
			vo = new SplBscInfoApplyVO();
			vo.setId(dto.getId());
			vo.setSplId(dto.getSplId());//供应商ID
			vo.setSplNmB(dto.getSplNmB());//供应商名称-变更前
			vo.setSplNm(dto.getSplNm());//供应商名称-变更后
			vo.setBizLicNoB(dto.getBizLicNoB());//营业执照号/身份证号-变更前
			vo.setBizLicNo(dto.getBizLicNo());//营业执照号/身份证号-变更后
			vo.setTaxRegNoB(dto.getTaxRegNoB());//税务登记号-变更前
			vo.setTaxRegNo(dto.getTaxRegNo());//税务登记号-变更后
			vo.setOrgCodeB(dto.getOrgCodeB());//组织机构代码-变更前
			vo.setOrgCode(dto.getOrgCode());//组织机构代码-变更后
			vo.setIsMerge(dto.getIsMerge());//是否回填主数据成功
			vo.setIsChngBaseData(dto.getIsChngBaseData());//基本数据是否变更
			vo.setIsChngLoanFlow(dto.getIsChngLoanFlow());//是否有变更放款流程
			vo.setStatus(dto.getStatus());//数据状态(是否最新0:否 1:是)(SYS0021)
			vo.setIsValid(dto.getIsValid());//是否有效(SYS0021)
			vo.setChngFlowRemB(dto.getChngFlowRemB());//流程变更备注-变更前
			vo.setChngFlowRem(dto.getChngFlowRem());//流程变更备注-变更后
			vo.setRem(dto.getRem());//备注
			vo.setCrtTmB(dto.getCrtTmB());//创建时间-变更前
			vo.setCrtUsrIdB(dto.getCrtUsrIdB());//创建者-变更前
			vo.setMdfTmB(dto.getMdfTmB());//修改时间-变更前
			vo.setMdfUsrIdB(dto.getMdfUsrIdB());//修改者-变更前
			vo.setAudStsCd(dto.getAudStsCd());
			vo.setAudStsCdNm(dto.getAudStsCdNm());
			vo.setPInstId(dto.getPInstId());
			vo.setPNo(dto.getPNo());
			vo.setSucc(dto.getSucc());//统一社会信用代码-变更后
			vo.setSuccB(dto.getSuccB());//统一社会信用代码-变更前

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			vo.setMdfTmB(dto.getMdfTmB());
			vo.setBuOrgCd(dto.getBuOrgCd());
			vo.setCstMgrId(dto.getCstMgrId());
			vo.setCstMgrNm(dto.getCstMgrNm());
			vo.setCstMgrOrgCd(dto.getCstMgrOrgCd());
			vo.setFlowTyp(dto.getFlowTyp());
			vo.setFlowStatus(dto.getFlowStatus());
			
			//caolei added at 2020-2-11 15:54:52
			vo.setIsRecycleLoa(dto.getIsRecycleLoa());
			vo.setIsRecycleLoaB(dto.getIsRecycleLoaB());
			vo.setIsUploadLoa(dto.getIsUploadLoa());
			vo.setIsUploadLoaB(dto.getIsUploadLoaB());

			vo.setOwnerCd(dto.getOwnerCd());
			vo.setOwnerCdB(dto.getOwnerCdB());
			vo.setRgnPrCd(dto.getRgnPrCd());
			vo.setRgnPrCdB(dto.getRgnPrCdB());
			vo.setRgnCyCd(dto.getRgnCyCd());
			vo.setRgnCyCdB(dto.getRgnCyCdB());
			vo.setPostAddr(dto.getPostAddr());
			vo.setPostAddrB(dto.getPostAddrB());
			vo.setChkBusTypCdStr(dto.getChkBusTypCdStr());
			vo.setChkBusTypCdStrB(dto.getChkBusTypCdStrB());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo SplBscInfoApplyVO
	 * @return SplBscInfoApplyDTO
	 */
	public static SplBscInfoApplyDTO toDTO(SplBscInfoApplyVO vo) {
		SplBscInfoApplyDTO dto = null;
		if (vo != null) {
			dto = new SplBscInfoApplyDTO();
			dto.setId(vo.getId());
			dto.setSplId(vo.getSplId());//供应商ID
			dto.setSplNmB(vo.getSplNmB());//供应商名称-变更前
			dto.setSplNm(vo.getSplNm());//供应商名称-变更后
			dto.setBizLicNoB(vo.getBizLicNoB());//营业执照号/身份证号-变更前
			dto.setBizLicNo(vo.getBizLicNo());//营业执照号/身份证号-变更后
			dto.setTaxRegNoB(vo.getTaxRegNoB());//税务登记号-变更前
			dto.setTaxRegNo(vo.getTaxRegNo());//税务登记号-变更后
			dto.setOrgCodeB(vo.getOrgCodeB());//组织机构代码-变更前
			dto.setOrgCode(vo.getOrgCode());//组织机构代码-变更后
			dto.setIsMerge(vo.getIsMerge());//是否回填主数据成功
			dto.setIsChngBaseData(vo.getIsChngBaseData());//基本数据是否变更
			dto.setIsChngLoanFlow(vo.getIsChngLoanFlow());//是否有变更放款流程
			dto.setStatus(vo.getStatus());//数据状态(是否最新0:否 1:是)(SYS0021)
			dto.setIsValid(vo.getIsValid());//是否有效(SYS0021)
			dto.setChngFlowRemB(vo.getChngFlowRemB());//流程变更备注-变更前
			dto.setChngFlowRem(vo.getChngFlowRem());//流程变更备注-变更后
			dto.setRem(vo.getRem());//备注
			dto.setCrtTmB(vo.getCrtTmB());//创建时间-变更前
			dto.setCrtUsrIdB(vo.getCrtUsrIdB());//创建者-变更前
			dto.setMdfTmB(vo.getMdfTmB());//修改时间-变更前
			dto.setMdfUsrIdB(vo.getMdfUsrIdB());//修改者-变更前
			dto.setAudStsCd(vo.getAudStsCd());
			dto.setAudStsCdNm(vo.getAudStsCdNm());
			dto.setPInstId(vo.getPInstId());
			dto.setPNo(vo.getPNo());
			dto.setSucc(vo.getSucc());//统一社会信用代码-变更后
			dto.setSuccB(vo.getSuccB());//统一社会信用代码-变更前

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			dto.setMdfUsrIdB(vo.getMdfUsrIdB());
			dto.setMdfTmB(vo.getMdfTmB());
			dto.setBuOrgCd(vo.getBuOrgCd());
			dto.setCstMgrId(vo.getCstMgrId());
			dto.setCstMgrNm(vo.getCstMgrNm());
			dto.setCstMgrOrgCd(vo.getCstMgrOrgCd());
			
			dto.setFlowTyp(vo.getFlowTyp());
			dto.setFlowStatus(vo.getFlowStatus());
			
			//caolei added at 2020-2-11 15:54:52
			dto.setIsRecycleLoa(vo.getIsRecycleLoa());
			dto.setIsRecycleLoaB(vo.getIsRecycleLoaB());
			dto.setIsUploadLoa(vo.getIsUploadLoa());
			dto.setIsUploadLoaB(vo.getIsUploadLoaB());

			dto.setOwnerCd(vo.getOwnerCd());
			dto.setOwnerCdB(vo.getOwnerCdB());
			dto.setRgnPrCd(vo.getRgnPrCd());
			dto.setRgnPrCdB(vo.getRgnPrCdB());
			dto.setRgnCyCd(vo.getRgnCyCd());
			dto.setRgnCyCdB(vo.getRgnCyCdB());
			dto.setPostAddr(vo.getPostAddr());
			dto.setPostAddrB(vo.getPostAddrB());
			dto.setChkBusTypCdStr(vo.getChkBusTypCdStr());
			dto.setChkBusTypCdStrB(vo.getChkBusTypCdStrB());

		}
		return dto;
	}

	/**
	 * DTO集合 转 VO集合
	 * @param list<SplBscInfoApplyDTO>
	 * @return List<SplBscInfoApplyVO>
	 */
	public static List<SplBscInfoApplyVO> toVOList(List<SplBscInfoApplyDTO> list) {
		List<SplBscInfoApplyVO>  voList = new ArrayList<SplBscInfoApplyVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SplBscInfoApplyDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}

	/**
	 * VO集合 转 DTO集合
	 * @param list List<SplBscInfoApplyVO>
	 * @return List<SplBscInfoApplyDTO>
	 */
	public static List<SplBscInfoApplyDTO> toDTOList(List<SplBscInfoApplyVO> list) {
		List<SplBscInfoApplyDTO>  dtoList = new ArrayList<SplBscInfoApplyDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SplBscInfoApplyVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
